import { getToken } from '@/utils/token'
import { ElMessage } from 'element-plus'

export function setupGuards(router) {
    router.beforeEach((to, from, next) => {
        // 设置页面标题
        document.title = to.meta.title || 'EX'

        // 检查是否需要登录权限
        if (to.meta.requiresAuth) {
            const token = getToken()
            if (!token) {
                ElMessage.warning('请先登录')
                next({
                    name: 'UserLogin',
                    query: { redirect: to.fullPath }
                })
                return
            }
        }
        next()
    })

    router.afterEach((to, from) => {
        // 页面切换后滚动到顶部
        window.scrollTo(0, 0)
    })

    router.onError((error) => {
        console.error('路由错误:', error)
        ElMessage.error('页面加载失败')
    })
}